package observer.fromKanYun;

import java.util.Observable;

/**
 * 被观察者
 */
public class Food extends Observable {
    /**菜名 */
    private String name;
    /**菜价 */
    private float price;

    public Food(String name, float price) {
        this.name = name;
        this.price = price;
    }

    public String getName() {
        return name;
    }

    public float getPrice() {
        return price;
    }

    public void setPrice(float price) {
        this.price = price;
        /**
         * 设置菜价的状态已经被改变
         */
        this.setChanged();
        /**
         * 通知【所有】正在看菜(已经注册了)的顾客，然后回调Observer的update方法进行更新
         *
         * 这里可以体现对象的一对多：一个小商贩一旦更新价格(即一个对象改变状态)，便会自动通知所有的顾客(依赖它的对象都会收到通知)
         * 并自动update
         */
        this.notifyObservers(price);
    }


}
